入門の入門 No.5
プログラミングを勉強すると、
「ポインタ」という考え方に、つまずくかもしれない。
しかし、ポインタというものは、便利なものです。
ただし、理解しにくいかもしれません。
そこで、たとえ話で説明します。
学生時代に、クラスメートの誰かを好きになったとします。
そうすると、好きな人の住所(アドレス)を知りたくなるでしょう。
また、街を散歩していたら、
素敵な家を見つけたとします。
建物の外装は、調和されていて、美しく、
庭の花も、季節の花が、美しく咲いています。
そうすると、このような美しい家には、
どのような人が住んでいるかを知りたくなるでしょう。
門には、住所(アドレス)が書いてあります。
コンピューターの世界も、人間が住む世界と同じようなものです。
メモリという広い空間に、住所(アドレス)をつけて、
データを記憶させているのです。
だから、人間の世界と同じく、
コンピューターの世界でも、
アドレスを知りたくなったり、
逆に、このアドレスには、何が入っているかを知りたくなるのです。
これが、ポインタという考え方です。
一般的には、ポインタとは、
「アドレスを記憶する変数」と言われます。
入門の入門 No.2
プログラミングの勉強を始めると、
まず、最初に、つまずくのが、「変数」だと思います。
変数とは、データの「入れ物」です。
わかりやすい話をしましょう。
あなたが、お金をもらった時は、どうしますか。
そのまま、ポケットに入れる人は、少ないでしょう。
たいていは、財布に入れるでしょう。
変数とは、「財布」のことです。
お金をもらったら(入力)、
お金を財布(変数)に入れて、
お金を支払う時は(出力)、
お金を財布(変数)から取り出します。
そういうことを理解したら、
ここで、変数を使ってみましょう。
変数には、aという変数を用意します。
a
= a +
1
わからなくなりましたか。
当然です。
この式は、数学的には、誤りです。
左辺と右辺が、イコールのはずはありません。
しかし、プログラミングの世界では、
文法的には、正しいのです。
プログラミングの世界では、
「=」という記号は、「代入」を意味します。
右辺の結果を、左辺に入れることを意味します。
これでも、わかりにくいでしょう。
ここで、もう一度、財布で考えましょう。
財布←財布+100円
これで、わかったでしょう。
これを、プログラミングの文法で書けば、
「財布=財布+100円」となるのです。
変数とは、データを入れておく「財布」のようなものです。